﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HaumDisplay
{
    public class HaumDisplayCallBack
    {
        /// <summary>
        /// 手动导入图片回调事件[在回调中获取图片对象]
        /// </summary>
        /// <param name="image"></param>
        public delegate void ImportImageCallBack(HaumImage image);

        /// <summary>
        /// 手动导入图片回调事件[在回调中获取图片对象]
        /// </summary>
        /// <param name="image"></param>
        public delegate void LoadImageCallBack(HaumImage image);

        /// <summary>
        /// 显示图片回调事件[适合显示图片后在回调中用于保存记录图片]
        /// </summary>
        /// <param name="image"></param>
        public delegate void ShowImageCallBack(HaumImage image);

        /// <summary>
        /// 移除图片回调事件
        /// </summary>
        public delegate void RemoveImageCallBack();

        /// <summary>
        /// 绘制点回调事件
        /// </summary>
        /// <param name="point"></param>
        public delegate void GraphicPointCallBack(HaumPoint point);

        /// <summary>
        /// 绘制线回调事件
        /// </summary>
        /// <param name="line"></param>
        public delegate void GraphicLineCallBack(HaumLine line);

        /// <summary>
        /// 绘制圆回调事件
        /// </summary>
        /// <param name="circle"></param>
        public delegate void GraphicCircleCallBack(HaumCircle circle);

        /// <summary>
        /// 绘制椭圆回调事件
        /// </summary>
        /// <param name="elipse"></param>
        public delegate void GraphicElipseCallBack(HaumEllipse elipse);

        /// <summary>
        /// 绘制矩形回调事件
        /// </summary>
        /// <param name="rectangle"></param>
        public delegate void GraphicRectangleCallBack(HaumRectangle rectangle);

        /// <summary>
        /// 绘制旋转矩形回调事件
        /// </summary>
        /// <param name="rotateRect"></param>
        public delegate void GraphicRotateRectCallBack(HaumRotateRect rotateRect);

        /// <summary>
        /// 绘制多边形回调事件
        /// </summary>
        /// <param name="polygon"></param>
        public delegate void GraphicPolygonCallBack(HaumPolygon polygon);
    }
}
